Rescue ManagedLgIcuCollator.manifest in patch builds (PYRO0305)#934
Merged
Conversation
Commit 846c123 ("Reduce optional COM usage", #904) stopped emitting the reg-free COM manifest ManagedLgIcuCollator.manifest, but the base release still ships it. WiX 3 pyro then fails the patch build with PYRO0305 because files cannot be removed in a patch. Add the manifest to the RescuePatching target's RemovedSinceLastBase list so a zero-byte placeholder is staged into the build output. The file is then present in both the Master and Update harvests, so pyro treats it as changed rather than removed. This mirrors the existing ManagedVwWindow.manifest and SimpleRootSite.manifest entries. Also document the error and this fix in FLExInstaller/AGENTS.md for future occurrences. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Render comparison artifacts10235008529e run 27227763925.1 detected 1 render snapshot failure(s).
This comment is updated in place by CI for the latest run. |
NUnit Tests 1 files ±0 1 suites ±0 10m 37s ⏱️ -29s For more details on these failures, see this check. Results for commit 8ce0eb7. ± Comparison against base commit 026ca3d. |
aror92
approved these changes
Jun 10, 2026
aror92
left a comment
Contributor
There was a problem hiding this comment.
@aror92 reviewed 2 files and all commit messages, and made 1 comment.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on jasonleenaylor).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes the patch build failure:
Commit 846c123 ("Reduce optional COM usage", #904) stopped emitting the
reg-free COM manifest
ManagedLgIcuCollator.manifest. The base release (e.g.build-1437) still ships it, and WiX 3pyro.exerejects patches that remove afile — so every patch build since #904 fails with PYRO0305.
Fix
Build/Installer.legacy.targets— addManagedLgIcuCollator.manifesttothe
RescuePatchingtarget'sRemovedSinceLastBaselist. That writes azero-byte placeholder into the build output (
$(dir-outputBase)), so the fileis present in both the Master and Update harvests and
pyrotreats it aschanged rather than removed. Mirrors the existing
ManagedVwWindow.manifest/SimpleRootSite.manifestentries.FLExInstaller/AGENTS.md— document thePYRO0305 ... was removed in the patcherror and its fix under the WiX 3 (PatchableInstaller) notes, so thenext occurrence is resolved without re-investigation.
Follow-up (not in this PR)
The
RemovedSinceLastBaseplaceholders are a stopgap. Once a new Base buildis cut (where the manifest is absent from Master too), the
ManagedLgIcuCollator.manifest,ManagedVwWindow.*, andSimpleRootSite.manifestentries should be cleared out.Testing
Not built locally — a full patch build needs the base release artifacts
(
BuildDir.zip) plus a Release patch build (build.ps1 -BuildPatch). The changeis a one-line mirror of the established, working pattern for the same class of
dropped manifests; the
Patch InstallerCI workflow will exercise it.🤖 Generated with Claude Code
This change is